//组织时序图需要的数据
function actSvgData(dataSet){
	var svgDataObj=this;
	var actTimeInfo = [];// 默认显示的主保护，断路器保护和断路器动作时间信息
	var allActInfo = [];// 所有保护和断路器动作时间信息
	var errorList = [];// 显示错误的配置信息
	var allFinalActTime = 0;// 所有时间中的最大值
	var defaultFinalActTime = 0;// 默认显示中的最大值
	var gt1000=10000;//大于1000的最小数字
	var lt1000=950;//大于950小于1000的最大值
	
	//判断数据集中在哪个范围  true为集中在950-1000
	this.getDataRange=function(){
		var num950=0;//950-1000
		var num1000=0;//1000+ 
		var faultInfo = drawData[0];//只判断一个站
		for(var time in faultInfo){
			var t = Number(time);
			if(t>1000){
				num1000++;
				if(t<gt1000){
					gt1000=t;
				}
			}else if(t>950&&t<=1000){
				num950++;
				if(t>lt1000){
					lt1000=t;
				}
			}
		}
		return (num950>=num1000);	
	}
	
	//对数据分组
	this.groupTime=function() {
		for ( var i in dataSet) {
			subStation.push(dataSet[i].station);//站点名称
			actTimeInfo.push(formatterTime(dataSet[i].value));//只存主保护，断路器保护，断路器
			errorList.push(dataSet[i].error);
			allActInfo.push(formatterTime(dataSet[i].totalVal));//存放所有动作信息
		}
		defaultFinalActTime = svgDataObj.getMaxTime(actTimeInfo);
		allFinalActTime =svgDataObj.getMaxTime(allActInfo);
	}
	// 找最大值
	this.getMaxTime=function(timeArr) {
		var maxTime = 0;
		for ( var i in timeArr) {
			for ( var time in timeArr[i]) {
				var t = Number(time) ;
				if (t > maxTime) {
					maxTime = t;
				}
			}
		}
		return maxTime;
	}
	// 找最小值
	this.getMinTime=function(timeArr) {
		var minTime =10000;
		for ( var i in timeArr) {
			for ( var time in timeArr[i]) {
				var t = Number(time) ;
				if (t < minTime) {
					minTime = t;
				}
			}
		}
		return minTime;
	}
	//处理数据，微秒全部转换为毫秒并去掉小数，合并数据{time:[[str,descStr],[str,descStr]]}
	function formatterTime(timeMap){
		var newTimeMap={};
		for(var time in timeMap){
			var t = Number((Number(time) / 1000).toFixed(0));
			var faultInfo=timeMap[time];
			var newTimeArr=newTimeMap[t];
			if(newTimeArr==null){
				newTimeArr=[];
			}
			for(var i in faultInfo){
				//判断是否只含有ABC三个字母,只有ABC的话才排序
				var phase = faultInfo[i][2];
				if(/^[ABC]+$/.test(faultInfo[i][2])){
					phase = phase.split("").sort().join("");// 对相别进行排序
				}
				if(faultInfo[i][1]=="断弧"){
					var str = faultInfo[i][0] +phase+"相"+ faultInfo[i][1];
				}else{
					var str = faultInfo[i][0] + faultInfo[i][1] + phase;
				}
				var descstr = faultInfo[i][3];
				newTimeArr.push([str,descstr]);
			}
			newTimeMap[t]=newTimeArr;
		}
		return newTimeMap;
	}
	//产生实际画图需要的数据
	this.genDrawData=function(){
		drawData=[];
		finalActTime = defaultFinalActTime;
		$.extend(true,drawData,actTimeInfo);
	}
	//产生实际画图需要的全部数据
	this.genAllDrawData=function(){
		drawData=[];
		finalActTime = allFinalActTime;
		$.extend(true,drawData,allActInfo);
	}
	this.getLt1000=function(){
		return lt1000;
	}
	this.getGt1000=function(){
		return gt1000;
	}
	this.getFinalActTime=function(dataArr){
		return svgDataObj.getMaxTime(dataArr);
	}
  
}